package org.example.myleet.p1694;

public class Solution {
    public String reformatNumber(String number) {
        String pureNumber = number.trim().replace(" ", "").replace("-", "");
        String prefix = "";
        String suffix = "";
        if (pureNumber.length() > 3) {
            int splitIdx = pureNumber.length() / 3 * 3;
            if (pureNumber.length() - splitIdx < 2) {
                splitIdx -= 3;
            }
            prefix = pureNumber.substring(0, splitIdx);
            suffix = pureNumber.substring(splitIdx);
        } else {
            suffix = pureNumber;
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < prefix.length(); ++i) {
            sb.append(prefix.charAt(i));
            if ((i + 1) % 3 == 0 && (i + 1) < prefix.length()) {
                sb.append('-');
            }
        }
        if (suffix.length() == 4) {
            if (sb.length() > 0) {
                sb.append('-');
            }
            sb.append(suffix.charAt(0));
            sb.append(suffix.charAt(1));
            sb.append('-');
            sb.append(suffix.charAt(2));
            sb.append(suffix.charAt(3));
        } else if (suffix.length() > 0) {
            if (sb.length() > 0) {
                sb.append('-');
            }
            sb.append(suffix);
        }
        return sb.toString();
    }
}
